added gpio, may be broken