Add preliminary interfaces and extendable classes