Initial implementations of the classes