first iteration of the interface almost finished; code reflects interface needs