def format_big_box(message, ws_offset=20):
    """
    Formats a message by wrapping it into a big box of # and white space
    symbols. Works for multi-line message (splat by \n).

    :param message: self-explanatory.
    :param ws_offset: two sided white space offset wrapping the message.
    """
    msg_lines = message.split("\n")
    max_msg_line_len = max([len(line) for line in msg_lines])

    total_len = max_msg_line_len + ws_offset

    # 2 is added because of # on both sides
    top_or_bottom = '#' * (total_len + 2)
    left_side_offset = ws_offset // 2
    right_side_offset = ws_offset // 2
    if ws_offset % 2 == 1:
        right_side_offset += 1

    left_padding = ' ' * left_side_offset
    center_lines = []
    for line in msg_lines:
        # adjusting the right padding to the maximum line len
        extra_padding = max_msg_line_len - len(line)
        right_padding = ' ' * (right_side_offset + extra_padding)
        center_lines.append("#%s%s%s#" % (left_padding, line, right_padding))
    center = "\n".join(center_lines)
    mess = "\n%s\n%s\n%s\n" % (top_or_bottom, center, top_or_bottom)

    return mess