Basic implementations, and a TODO