hardware specific utility functions