added make_immutable