Appliying software engineering principles