add some constructors & methods to be more fluent