updates
now functional