from soft to hard