once you have the overall design, start with the implementation of the main components
concentrate on one component, and try to make it work before proceeding to the next one
for components that need to interact with each other, use function prototypes or similar techniques to make sure that they work together