impl window self