uses stdin now