removed some type hinting as null can be passed into that constructor and standard values won't work here