it feels like this should be in method somewhere we could re-use