separated out chip interface into separate headers