finished base functions POI