rewrote fish functions