this version passed all tests

most problem source from python default argument…