messy but the gist