let's make sure this is cleaned up in short order because this is kind of gross from a memory management perspective