simplification
refactoring
add dependency constraints