this is ugly and i'm sorry