updated to make more readable