update, py3 compatible version