try mp instead of threading