don't rely on view.layer