add opsin wrapper, closes trello#11