Unit 2 almost done, add custom exception later