core functionalities added