Try adding capital stock and transaction costs. The code seems easy enough. See if that changes the outcome of your simulation. My experience is that the broad rich-get-richer dynamics remain the same.