Reverse-engineering Viktor and making it open source