add boxes, add checkpoints, add platforms, refactoring