add tests for part4