改动 type class 的位置