try reflection approach