Still unclear why floor is required. Please use floor() or round()