refactors to add abgoal