added a way to detect where the exe was ran from, added portable path seps, added tests