Needs to be public as other libs depend on it