interface for common tasks with files