add an abstract class to configure common bindings
add an input validator
use a pattern to validate PLACE command
fix out of table move handling
correct return when no move