all functionality in place but not yet debugged