final Ver 1.0