- added a few comments for clarity
- implemented the buffering source and added some messy tests for it
- added another error code
- added a memmove to CUtil