fleshed out lab7.