Re-implement with simple visualization