Finished the implementation for this work