use unique serviceId for hook