finally introducing some functionalities