Implemented all needed functions, not tested though
Made some clean amongst the file
Made some clean amongst the file