tiles refactored