python implemnetation