faster encapsulation + join