Draft partial implementation of CSG