working on GM model