hooks work better now + docs