add better user data collection