Refactored. Now interactive.