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 4. board_get_pawn_moves - add en passant