Multiple changes

- Added a new function adaptor.
- Updated header includes.