loads of template changes, better switching between address choices
cleanup and modularity