implement subsumes

Implements #10