add some model and functions