revert to previous implementation