this adds several assertions and parameter checks for debugging purposes and performs some file cleanups.