Implement all the work