modernize code and ARC