Prepare 4 refactor