better GPIO usage