initial commit | much work + cleanup still to do