This is going to get messy…