lab3/4 commit. work in progress.