finished, everything fully functional