Scheme theory