fourth version committed.
Concrete classes completed, start of interface package