refactored Revision service