refactored and added 3d content back in