first commit: lib files mostly made