omg this thing is too long please shorten itshouldn