Complete implementation and set up test