separate helper functions into namespaces
update