io pin manipulation api