generate scaffold product