a new draft argument implementation