failed to decouple from gl and cleanup