added get_contents()