basic functionality complete and tested