Thanks for your concern again mack. You see now you have set the config in software isn't it? Right! Now in my previous projects with top2049 i realize that the default state of the programmer config word when it is launched is used to program the pic and that means the ones i have embedded in the compiler software was obviously of no use to it. If i can tell the topwin software to just use the config from my compiler that will be fine. Instead it takes you to something that looks like have a complete data sheet and you start to configure each bit by bit changing 1 to 0 or 0 to 1. Actually i get how to set config in compiler, but my experience shows that this programmer always use config from its own software. So if you fail to start setting config fuses again in its software and think you have embedded the config in your program, your code will not work, just telling you from my experience. So it boils down to how do i set 1 and 0's in 18f4550 datasheet in each config word from 300001 address upward to use 4mhz xtal and get 48mhz for usb and also run the cpu at 48mhz. Thanks for your time. You can download the software and run it, select 18f4550 and click config, see all the option it gives you, then you will see what i mean. Is the config embedded in the hex file generated or it just exist on its own. I once read some programmer software simply do not know what to do with config settings embedded from compiler software, and so you end up setting it in software, just use ic prog as a case study.