moved file ops into projector code