added rectangle packing