tedious version