almost done fuck it watch lectures, refactor, test