remove the type constrain for directive & co