updated hardware coding