Good chunk of work on #14