a simple chess backend with GUI and CLI frontends