I'm not digging how messy this code is getting