two way to implement asychronized desing (callback and future)