TODO: implement getFields