add construction for optional easy initializastion