use newInstance and bundle to replace the non-default constructor