first commit, to include codes in learn_python_the_hard_way