offline analysis