hmm...
can't really get rid of it without reworking the whole logic.