refactored gmm concrete implementations into abstract parents; added Sadigh et al 1997