use async task for decode data