< 0 can be moved to model validation