rotating..... complete restructure to better handle memory