add message; split max_f for directions