added comments and todos