refactoring current state