refactoring
use efficient meet