still feels odd to me that we're maintaining this but meh. (seems like a problem a google api should be able to solve)