bits of refactoring
 +all target