refactor: add constructors