added comment and embedded abstract model module