implemented struct mobj