Initial commit. Only classes written. Methods remain to be implemented.
TODOS defined.