defaults to unspecified but can manually assign type