minimal, but complete