finishing core functionalities