add corrections by karl and obviously