dont need blockfadeevent anymore
lazy load and cache block access