More Refactoring And Added LongRunningService