finish culler function
make alloc polymorphic
refactory project
add a virtual deconstruct to clipper