Propagate errors. Must implement OOP.