omg this code is bad