added many features
working on cast feature