add parse_from_json function