NEW: user input taken care of
NEW: initial organization and build_remaining_space_matrix() method implemented