hurrrr this is a mess