functions backwards, need to fix
update
update