Finish project. Kind of taped together. Needs refactoring.