use from_array() to populate profile fields for more flexible property population