refactor: rearrange fields and methods