directive demo. Ready for refactoring.