finalizing version adopting tests