adding some new functionality