refactoring: added convenience constructor