properly extend parameters
optimize protocol check