some join abstractions and comments