refactoring some stuff
refactoring some stuff