added first cut at recursion for structure sizes
updated datatypes.  needs memset after 'new'