This form is basic and slow, but it works.