Improved Directive adapter