wiringpi refactor