shuffle some logic around
2.2.3