Brilliant post! Has almost all the information required.