I swear ive almost got this working