attempt to make code easier to read