refactored into multiple files, added predictive functions, need to implement danger function