user edit functionality
user edit functionality
mostly done