Initial commit. Only supports square 2D fields.