initial commit basic interfaces
moved adapters to extra package