please do not use default values here: they are mainly useful for providing nice and shiny user APIs and make refactoring less reliably otherwise