user should be a parameter