Refactor and improve naming