Yeww unit tests working, albiet drunk so don't trust this commit