added normalize (with test)