refactor blueprint