This is such a mess