Should be moved to a local namespace in cpp