beat refactor in progress