added functional scene infrastructure