fixed hw#1 bugs