somewhat more readable