add hooks support and forEach; bump version