cons needs to return this to enforce the builder pattern.