Restructured Train class