highlights: this doesn't seem half bad. needs testing.