splitting drawing program into data and engine