add capacity restriction to circle construction
add swap order mutation