continued work on the basic functionality