Initial work on User Profiles

Needs significant refacoring!