update tile engine: expended as OOP