First attempt
Second go

The sorting still needs to be figured out.