add GPIO initialization