finish work to refine place calculations
protect cache version since we switched away from ostruct