code clean up #10 (WIP)
code clean up #11 (DONE!)