maybe it has bugs
change hash style
change hash style
change hash style