Model parsing rewrite to use Structs