add requirements.txt. some improvements.