Implemented init, but still needs work. Added a few more methods