refactor: outline private methods