Implemented various methods