make some changes to the functionalities