edited hardware class separated hardware resources