15.1 added the rest of the funcs; needs work