all of that... and it is slower