callback for errors, no console.logs, always use numbers for rates