cleanup and TODO