add setup.py , improve login function