multithreading, basic option parsing, and tagging support (taglib) implemented