Refactoring, Bugfixes, added path constraints