Light finished, though walls flickering is still an issue.
refactor