shot refactoring
 resolver