UI part DOING. This time the class hierarchy seems not bad.