refactored:   mahjong/tile.h