base architecture & simple player move