implemented and tested hasAvailableMove