jesus I hope I can think of a better name for this