compiler documentation where necessary