added hardware protection