seems to be working, check normalization
fixed normalization