point and rectangle are immutable now