Finish spec.
Initial implementation.