M: Increased version number.
M: Pass directory and basename to callback functions.
M: Code style (no tabs).
M: Added more test-cases.
M: Added more test-cases.