cleanups and enhance