allow for constructor