I think the logic behind the code is good, but I still missing something....