cleanup + refactoring
cleanup + refactoring