implement default_context