moved callback into private methods, adding missing free_ram column