- some simple engine for computer play
- support official chess move notation
- actually make a UI somehow
- castling checks dont take into account scenario where rook hasn't moved but has been captured
- refactor to modules with clean separation of concerns
- clean up spaghetti logic