Base Classes Added

Note some implementations missing, etc., but that’s to be fixed later.