restrict types of fields, add json

scripts, styles, and json

closes #31