Refactor & update