program is now fully functional