Applying Cognitive thinking to Software Solutions in AI