1. Algebraic notation: notation_move_to_string, documentation 2. Board: board_is_move_legal, add other piece's moves 3. Chess: output special error message for each type of illegal move so it's clear what went wrong