clean up, and simplified form