slightly reformatted