add demo and waving pattern