code cleanup with explicit readline loop