don't pass g to interface constructor