constructor is new agnostic