added aggregate base
put in event logic from aggregate base