Next project must be completely different and not use any of the code of the first two. Start again with a simple one, make it work and for the next project expand on it. Carry on like that. I disagree that an Nth project needs to be completely distinct from the (N-1)th project... Learning how to reuse code is not such a bad idea either, not to mention the issues that will crop up as memory gets more full (like the "caution: crossing page boundry" assembler warning that someone just mentioned.) For example, it ought to be easy to think of ways to add keypads, switch debouncing, and a bunch of other things to your LED flasher. Flash an LED using delay loops. Flash an LED using the watchdog timer. Flash an LED using the timer module(s). Flash (sequence) several LEDs using one of the above methods. Use two (debounced) pushbuttons to change the speed of the LED sequencer. Devise a "programming language" for the LED sequence, to be stored in the EEPROM of the microcontroller. Initially, program the eeprom with the PIC programmer. Add PWM "brightness control" for each "ON" LED... (adjust "LED language" appropriately.) Add Serial code so that the LED program can be downloaded from a PC separately from the PIC code itself. Do this with and without external rs232 level shifters. If your chosen PIC has a UART, do this with and without using the uart. Use Intel Hex format for the download. Use Motarola S-record format for the download. Use a modified xmodem protcol to make the download reliable. Develop a snazzy GUI "LED programming environment" for the PC that interfaces to the PIC. Interface to an external I2C EEPROM for larger LED programs. SPI EEPROM? Port code to 12bit PIC core. Port code to 18bit core. Extend LED language to support 24 LEDs. Use conditional assembly so the same sourcecode can be used for any core. Add keypad, LCD and UI to allow programming the LED sequencer from the keypad. Using a large PIC, allow it to program pics with "LED code." Um... Use A-D converter to measure power supply voltage - maintain constant LED brightness for a given programmed level over full 2V-5V supply range. (there, I used everything in Quentin's (rather good) list in one project that grew into a rather complex system. The final "product" isn't so different from the "pocket programmer" in complexity (or even in details, I would think.) Publish everything. If you can still read the code, and Olin doesn't complain about "frankenstein code" or somesuch, you're probably eminently hirable...) BillW -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.