Implement all major moves