new package
introduced a generic widget+connection layer