changes some functions that were protected to public because protected was retarded