Implemented a few functionalities (including algo)