## Drools API

The documentation concentrates upon the following key interfaces:
- org.kie.WorkingMemory
- org.kie.RuleBase
- org.kie.RuleBaseFactory
- org.kie.compiler.PackageBuilder
- org.kie.compiler.RuleBaseLoader
- org.kie.rule.Package
These interfaces are fully intended to be exposed to application code. Generally speaking, PackageBuilder would be used to assemble binary rule Packages, which are what is used by the core engine (RuleBase, WorkingMemory).
The other utility classes are optional, and you may or may not need to use them based on your specific needs.
The Internal APIs are not intended for "normal" application code use, but from time to time, advanced uses may need to refer to or use this API directly.