A basic implementation.