Improved add and update operations
Moved general into common service