add fields to profile_t instead of functions returning values