take all cycles into account, try to be efficient
JSON output