ver.4 - revised