exposed bare functions