initial import
add prototype
improve argument handling
use json file's mtime as updated time