made callback optional, stringify data, added demo files