using Spec for most of the specification package