Function First Model

Time to clean up code and separate the parser from the machine learning