refac
bug fixed