fcm implemented by the client
