refactor to add tile class to model