This sounds complicated, how long does it take?