compound initialization makes this easier to read I think