begin test driven development