User edit functionality