Implementation done. Some fucntions are not working properly, testing must beging!