Modified problem structure to add default initalization and not use pointers when unnecessary