add custom directive