added some SO links to help later in comments