pattern matching gix
work in progress