needs to handle non-convex booths