Added special cases to gen move