make the prototype dynamic