added
simplified
simplified
rearranged