added per library namespace and function interfaces