move convenience definitions out to separate files