better help, error messages, output formatting. add readline history.