refine three major classes