some changes to spec for clarity and order