updated Model functions to final;