I solved it follow the requirement. (and I just follow it, I dont really understand why I should do them to solve the problem) The way to solve this problem seems be close to wrapper pattern. I cannot tell the difference. Any clue? Thank you guys!!