add more limitation (thanks arvin)
add more supported scenarios