Small re-arrangement of methods and added a new spec.