Coded all of the methods, however it remains to be debugged