Fixed #45

感觉逻辑有点混乱;w;是时候重写代码了