refactor flower