first commit
汎用部分を実装中