added separate gpio.rb