lwjgl backend ugly but yes