switched from file based objects to ref based