finalized test driven dev