slight optimization