add idea
refactor pass method