added pre-setter