introduce rehydrate module for the client side for simplicity