construct function add id