add user param (for async)