added field types to enforce data structure.