from above discussion