updated todo using extended classes