updated contextual init