optimize by not taking norm