diversi initial implementation

stable stage.. ready to integrate