Primarily done...Need lots of re-factoring and update