refactor demo and other classes when did lab. add vector basic api