It's very difficult to explane my solution...