my own lite 2D library