refactor/cleanup