implement `>` chaining and separate Library