updated h/w code