added documentation for the core fns