Refactor code for more general use cases vs. specific Topaz use cases