lots of gutting and redesigning and cleaning
wrote a tentative attach_onto function, MUST TEST ASAP