Refactored Tup