First pass at train method