functional working version of project(WIP-add style)