lab4
lab4 merge with old project. It was harder than I think