Seprate output context

Draft version