* Lots of chnages by me & mahavir