Final ver 2.0