Improvements

Many improvements and features added.