Improved internal API with better parameter handlers