convert remaining methods to use immutable data