updated arguments, tore out 'notify' function