Made chain-macro more generic and added a better example