simplify gpio hal