window defaults reimplemented as functions