refactored lift.py to take advantage of sql join. features are easier to validate