restrict readline usage to Main.hs
restructure the dependencies
clean the whole build directory