Start work on #130
Progress on #130, it mainly works