profile now owns window data and does range checks