optimization changes