WIP -- added basic prototype can be extended and some flag to turn new features off