gpio correct handling