initial commit, still needs folder structure and namespacing