update dotfile.py to support more features