soft code refactor