added documentation
finnally understood the meaning of +,?,- and (semi)det