The implementation is the final part, everything is listed above