started adding type-specific init functions