gpio improvements