Added Path Interface.
Refactored to packages.