modified for ease of reading