i want to simplify this shit so bad but its so yucky