normalize can now be executed inplace