refactored resolvers