initial in-progress work

This is the initial work I have done locally before deciding to put up
on github