added a mixin for external focus control