Combining memory and non-linearity in echo state networks