add decode data function