propagate data model change to controllers and directive + simplify html