initial commit adapter pattern.