cleaned up interactive get text