#4 and #5 issues fixed, hooks added, but not complete (missing .stop())