improved output etc