Updated with outline from Mike