added has_window property