main now has read-eval-print loop