+ compile all targets
refactoring