switch to using FBOs