move more into models