model and storage wrapper