recursive version of contains scales better :)