continue with refactor and cleanup