added the final version for demo