unstable version. refactoring and logging added. still missing dual database with storage method replacement. removed winston because it didnt add anything besides limitations.