Moving files in order refactor the general structure
Add apache licence
Add file abstraction and service interfaces