add prototype to dp