added tests
now add and add_if_possible can take variable args
added iteration test