this is some dodgy precedence