refactoried service crud