almost complete. 7 lines to go.