angular more restrictive, refactoring