basic implementation - file reader still missing