refactor, trying different things