refactored and replaced swap! with om fns