Refactor into more logical pacakages and added modified service
structure