SOme Refactor