Implements #3