less ugly (but still ugly) merge