completely remove libhal dependency