added GNU readline functionality