Okay, maybe a re-write isn't necessary