refactor for heart