* return multiple objects

This renames build_obj_using to build_using and always returns a list or tuple instead of assuming a single object