added qa before I forget
saved json to temporary file instead of cStringIO\n\n closer to reality
fixed file delegate
update