Refactor of spec (Cap 3)