Improve extend to accept arbitrary number of objects