I apologize for the wall-o-text :P