More fixes for empty basements, properly deal with start_idx != 0, convert to array when necessary before serializing