Still working through bugs on 4. Still need to add more tests to 3