basics Provides some core functional concepts expressed as interfaces and base test cases for implementations