manually added Vircurex module from pull request #285, fix forward merging issues, cleaned up a bit.