adding some refactor
adding some refactor