rewrite quadrance to detect input type. flesh out some stuff, fix meet()