fix api
less mutability