adding pin numbers and fleshing out architecture