midterm initial commit

code works, but still in progress