added hooks for dense data