fixed saving no sound and extended JS logic