tentative commit for interface files (still need to change to .h to avoid circular references)