User edit, update, etc. -needs to pass tests