basic constructors
properties
utility: better PHP typehinting