Refactored path names
Small fix to create cache directory if it doesn't exist
Cleaned up combinator library files from semantics