Attempt at modular approach.