depends readline 
