this.whatever should always be first to be set