final Ver 1.1