Implemented rest of methods and main body.