public functions. oops.