pure needs readline