Added multi-version compatibility using reflection!