implement basic play against engine