plugin prototype