The best way to design a program is to design it.
I don't believe in failure. It's not failure if you enjoyed the process.