Though more carfully about somethings. Implemented/half implemented some of the methods.