added en passant move and improved interface