Completed majority of logic, trying to think of edge definitions. If not, onward to applications.