Reorganising repo

Dividing project in to three small projects.