some move optimiztion