now with gen_server
gonna carry chargify state in gen_server