better support for different move types