all browser compatble code added