Adding go files, start of structural and creeational, adding structural adapter impl and test