moved common parts to own project