complete part 2 , added to tests.scm