fixed service vs factory, refactoring
cleanup
cleanup
cleanup