add prototype and order code