Yeah this is a mess