Applying software engineering concepts...