completed refactoring
inc version