add way to 'break' function chain; license; tests