refactored, updated, added gui, improved demo, ie fix