initial commit: added basic functionality. Tested on Mac with Chrome + Firefox.