I know its long, but this must be read