some cleanups and interface smoothing