add GPIO control