Implemented remaining functions