impl: scene system; close #8