lab 2.1 mostly works