use gen_server for enqueue session