hooks now take callbacks instead of returning values
updated docs