all functionalities working