clean logic
clean layout
pre final