Refactor and add status