allow keywords to be strings or resources