absolutely everything mentioned in this thread!