generic 구현 추가.