added support for abstraction/refinement
updating expected
refactored