Chess for Android consists of a chess engine (derived from BikJump) together with a GUI (thanks to Joseph Wain for designing the chess graphics). The application accepts moves through the touch screen, the trackball, or through the keyboard (viz. e2e4 pushes the king pawn, e1g1 castles king side, etc.). The GUI gives the option to highlight the last played engine move as well as all valid moves for a selected piece during a user move. A pawn promotion prompts the user to define the desired destination piece. The GUI supports an undo feature, where up to eight plies (half-moves) can be taken back to correct mistakes, and recognizes draw by either the fifty move rule or a simplified form of threefold repetition. The engine plays at various levels (including random, against itself in auto-play, or free-play, where the phone can be used as a "magnetic chessboard" to study games or play a game up to a position for further play with the chess engine).