Basic, functional-but-extremely-pessimal versions (taken from