added base classes
created frame work
modified