added hardware API