Third commit, pretty functional now