more clean up and helpful interface additions