the first model,the last functions