declaratorを実装