could this be returned as a reference? (just have one less pointer floating around)