extra C convenience function