added support for reverse