added clientId to constructor