functionalities 100% working