test
major update to the update function, partially working