Implemented cleaner way for multi-version support