Um... this is a mess.