optimization and renaming