Separate backend from graphic engine