many, many corners cases