Final ver 1.0