initial refactor on ads sdk making it more sdk like