Implemented several methods