added dependencies
several improvements
more improvements
more improvements
more improvements