stubbed 2d version
core architecture