Source: https://neuranna.mit.edu/sites/default/files/documents/Fedorenko et al Programming S&S author version.pdf