improve analysis framework