added new files; changed structure