Refactor to hide methods