一通りの機能を実装