basic gf framework