rebased entire project to a standard working on latest versions