keeps compatibility with say
update functions
cleanup