more cleanup, interfaces