implement phases
[red] visible state
visiblestate
coord system