fix zero ignoring bug
fix add so it creates a good mask
added many operator overloading rules