improve: seperate rule data related operation