broke out models into separate classes
added more step decorators