This question needs 3 months writing to cover it