copied from ontohub repo