Rewrote with pluggable views. Adding error handling and reorganizing before continuing.