all done, now to refactor code...