added final specification.