ca = contract account
eoa = externally owned accounts
In order to understand how solidity works it is essential to think of a contract as both a ca & program