restructuring
mvc separation
saving progress
mvc pattern