level 2: add exports to expose interfaces