messing around with parchment again. refactoring the whole thing