Fix #1 , Fix #2 , Fix #3