Made a boat ton of changes, incorporated Matt's changes