added all backend functionalities