keep working on fop. currently it's unsound. but i have filtered out a lot of unusefull fields. also ignore cycle.