updates to constructor to use new parent constructor, and improve the interface for reuse