Added lots of initial work