loads and loads of fixes, multi shader use