use database table to store use profile, rather than cache