initial commit with file structures and dependencies