filled out initializer functions