ver.1 implemented