Some minor modificatinos and MIT License