added some core functionallity