hopefully the final version of the spec. Must implement this weekend