use auto to avoid type declaration --kazu