Deals with base/edge cases