use readline instead of args