Undebugged

Spec incomplete