nice use of immutable class.