trying to make this more readable