about to start refactor