lots of chnages, some rules simplified or extented