degraded some user_functions into functions