Broke the structure apart into core and extended packages, where core provides basic functionality whereas extended is more suited for higher level usage