added spec tests and modified todo model