first commit
core functionallity is done