moving all logic in 1 directive for easier use
reusable directive
Merge branch 'experiments'