change method name, add error catch