do we need user as a parameter ?